package util

import (
	"os"
	"syscall"
)

// 返回文件的创建时间，最后访问时间，最后修改时间。均为时间戳，精确到秒
func GetFileTime(stat os.FileInfo) (int64, int64, int64) {
	// macOS 和 Linux 环境下使用 syscall.Stat_t
	if fileAttr, ok := stat.Sys().(*syscall.Stat_t); ok {
		return fileAttr.Ctimespec.Sec,
			fileAttr.Atimespec.Sec,
			fileAttr.Mtimespec.Sec
	}

	// 如果无法获取系统信息，返回默认值
	return 0, 0, 0
}
